
package GestionTablas;

import Esquemas.Esquema;
import Esquemas.TipodeDato;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 * Clase encargada de gestionar (crear) las tablas que generaremos en el script.
 * Contiene una lista de tablas.
 * @author Carmen M. Morillo Arias, Christian Neria Suárez, Diego Ojeda García
 */

public class GestionaTablas {
    
    private final ArrayList<Tabla> tablas;
    
    /**
     * Constructor de la clase
     * @param e Esquema que vamos a gestionar
     * @throws SQLException 
     */
    public GestionaTablas(Esquema e) throws SQLException{
        tablas = new ArrayList<Tabla>();
        for (TipodeDato t : e.getTiposdedatos()){
            tablas.add(new Tabla(t));
        }
        
        CreaScript cs = new CreaScript(tablas, e);
        cs.CrearScript();
        cs.anadirRestriccionesEntidadFuerte(e);
        cs.anadirRestriccionesEntidadDebil(e);        
        cs.anadirVistaAtributosDerivados(e);                
        System.out.println("Script creado!");
    }
}
